package org.jsola.contract.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;

import java.util.Date;

import static org.jsola.contract.example.AccountExample.E_ACCOUNT_ID;
import static org.jsola.contract.example.AccountExample.E_ADDRESS;
import static org.jsola.contract.example.AccountExample.E_AGENT_ID_NO;
import static org.jsola.contract.example.AccountExample.E_AGENT_NAME;
import static org.jsola.contract.example.AccountExample.E_COUNTRY;
import static org.jsola.contract.example.AccountExample.E_DEPARTMENT;
import static org.jsola.contract.example.AccountExample.E_EMAIL;
import static org.jsola.contract.example.AccountExample.E_ID_NO;
import static org.jsola.contract.example.AccountExample.E_LEGAL_AREA;
import static org.jsola.contract.example.AccountExample.E_LEGAL_NAME;
import static org.jsola.contract.example.AccountExample.E_MEMBER_ID;
import static org.jsola.contract.example.AccountExample.E_MOBILE;
import static org.jsola.contract.example.AccountExample.E_NAME;
import static org.jsola.contract.example.AccountExample.E_ORGAN;
import static org.jsola.contract.example.AccountExample.E_ORGAN_CODE;
import static org.jsola.contract.example.AccountExample.E_ORGAN_TYPE;
import static org.jsola.contract.example.AccountExample.E_PERSON_AREA;
import static org.jsola.contract.example.AccountExample.E_PROVINCE;
import static org.jsola.contract.example.AccountExample.E_REAL;
import static org.jsola.contract.example.AccountExample.E_REG_TYPE;
import static org.jsola.contract.example.AccountExample.E_SCOPE;
import static org.jsola.contract.example.AccountExample.E_SOURCE;
import static org.jsola.contract.example.AccountExample.E_TITLE;
import static org.jsola.contract.example.AccountExample.E_TYPE;
import static org.jsola.contract.example.AccountExample.E_USER_TYPE;
import static org.jsola.contract.example.AccountExample.N_ACCOUNT_ID;
import static org.jsola.contract.example.AccountExample.N_ADDRESS;
import static org.jsola.contract.example.AccountExample.N_AGENT_ID_NO;
import static org.jsola.contract.example.AccountExample.N_AGENT_NAME;
import static org.jsola.contract.example.AccountExample.N_COUNTRY;
import static org.jsola.contract.example.AccountExample.N_DEPARTMENT;
import static org.jsola.contract.example.AccountExample.N_EMAIL;
import static org.jsola.contract.example.AccountExample.N_ID_NO;
import static org.jsola.contract.example.AccountExample.N_LEGAL_AREA;
import static org.jsola.contract.example.AccountExample.N_LEGAL_NAME;
import static org.jsola.contract.example.AccountExample.N_MEMBER_ID;
import static org.jsola.contract.example.AccountExample.N_MOBILE;
import static org.jsola.contract.example.AccountExample.N_NAME;
import static org.jsola.contract.example.AccountExample.N_ORGAN;
import static org.jsola.contract.example.AccountExample.N_ORGAN_CODE;
import static org.jsola.contract.example.AccountExample.N_ORGAN_TYPE;
import static org.jsola.contract.example.AccountExample.N_PERSON_AREA;
import static org.jsola.contract.example.AccountExample.N_PROVINCE;
import static org.jsola.contract.example.AccountExample.N_REAL;
import static org.jsola.contract.example.AccountExample.N_REG_TYPE;
import static org.jsola.contract.example.AccountExample.N_SCOPE;
import static org.jsola.contract.example.AccountExample.N_SOURCE;
import static org.jsola.contract.example.AccountExample.N_TITLE;
import static org.jsola.contract.example.AccountExample.N_TYPE;
import static org.jsola.contract.example.AccountExample.N_USER_TYPE;
import static org.jsola.core.example.BaseExample.E_GMT_CREATE;
import static org.jsola.core.example.BaseExample.E_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.E_ID;
import static org.jsola.core.example.BaseExample.N_GMT_CREATE;
import static org.jsola.core.example.BaseExample.N_GMT_MODIFIED;
import static org.jsola.core.example.BaseExample.N_ID;

/**
 * 账户信息
 *
 * @author JanusMix
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【账户信息】列表展示对象")
@Data
public class AccountListVO extends BaseVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(notes = N_ID, example = E_ID)
    private String id;

    @ApiModelProperty(notes = N_ACCOUNT_ID, example = E_ACCOUNT_ID)
    private String accountId;

    @ApiModelProperty(notes = N_TYPE, example = E_TYPE)
    private Integer type;

    @ApiModelProperty(notes = N_MEMBER_ID, example = E_MEMBER_ID)
    private String memberId;

    @ApiModelProperty(notes = N_SOURCE, example = E_SOURCE)
    private String source;

    @ApiModelProperty(notes = N_PERSON_AREA, example = E_PERSON_AREA)
    private String personArea;

    @ApiModelProperty(notes = N_ID_NO, example = E_ID_NO)
    private String idNo;

    @ApiModelProperty(notes = N_NAME, example = E_NAME)
    private String name;

    @ApiModelProperty(notes = N_MOBILE, example = E_MOBILE)
    private String mobile;

    @ApiModelProperty(notes = N_EMAIL, example = E_EMAIL)
    private String email;

    @ApiModelProperty(notes = N_ORGAN, example = E_ORGAN)
    private String organ;

    @ApiModelProperty(notes = N_TITLE, example = E_TITLE)
    private String title;

    @ApiModelProperty(notes = N_ADDRESS, example = E_ADDRESS)
    private String address;

    @ApiModelProperty(notes = N_COUNTRY, example = E_COUNTRY)
    private String country;

    @ApiModelProperty(notes = N_PROVINCE, example = E_PROVINCE)
    private String province;

    @ApiModelProperty(notes = N_DEPARTMENT, example = E_DEPARTMENT)
    private String department;

    @ApiModelProperty(notes = N_ORGAN_TYPE, example = E_ORGAN_TYPE)
    private Integer organType;

    @ApiModelProperty(notes = N_USER_TYPE, example = E_USER_TYPE)
    private Integer userType;

    @ApiModelProperty(notes = N_ORGAN_CODE, example = E_ORGAN_CODE)
    private String organCode;

    @ApiModelProperty(notes = N_LEGAL_NAME, example = E_LEGAL_NAME)
    private String legalName;

    @ApiModelProperty(notes = N_LEGAL_AREA, example = E_LEGAL_AREA)
    private Integer legalArea;

    @ApiModelProperty(notes = N_AGENT_NAME, example = E_AGENT_NAME)
    private String agentName;

    @ApiModelProperty(notes = N_AGENT_ID_NO, example = E_AGENT_ID_NO)
    private String agentIdNo;

    @ApiModelProperty(notes = N_SCOPE, example = E_SCOPE)
    private String scope;

    @ApiModelProperty(notes = N_REG_TYPE, example = E_REG_TYPE)
    private String regType;

    @ApiModelProperty(notes = N_REAL, example = E_REAL)
    private Boolean real;

    @ApiModelProperty(notes = N_GMT_CREATE, example = E_GMT_CREATE)
    private Date gmtCreate;

    @ApiModelProperty(notes = N_GMT_MODIFIED, example = E_GMT_MODIFIED)
    private Date gmtModified;



}

